<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //你是一个专业的小偷，计划偷窃沿街的房屋。每间房内都藏有一定的现金，影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统，**如果两间相邻的房屋在同一晚上被小偷闯入，系统会自动报警**。
      //给定一个代表每个房屋存放金额的非负整数数组，计算你 **不触动警报装置的情况下** ，一夜之内能够偷窃到的最高金额。
      // 示例1 输入：[1,2,3,1]
      // 输出：4
      // 解释：偷窃 1 号房屋 (金额 = 1) ，然后偷窃 3 号房屋 (金额 = 3)。
      // 偷窃到的最高金额 = 1 + 3 = 4 。

      function getMoney(arr = []) {
        const len = arr.length
        if (len === 0) return 0
        if (len === 1) return arr[0]
        // 当前项最优解
        const dp = [arr[0], Math.max(arr[0], arr[1])]
        for (let i = 2; i < len; i++) {
          // 当前预约有两个选择 接或不接
          dp[i] = Math.max(arr[i] + dp[i - 2], dp[i - 1])
        }
        console.log(dp)
        return dp[dp.length - 1]
      }
      console.log(getMoney((arr = [1, 2, 3, 1])))
    </script>
  </body>
</html>
